import { Toast } from 'vant';
const commonFunc = {
    
    imageAPI:function(){
        var _ip = '192.168.1.18';
        // return 'http://' + _ip + ':8888/manage/commonPicture/save';
        // return 'http://app.hwagglee.com/app/manage/commonInfo/save';
        return 'https://www.xiaoqinshou.club//app/manage/attachment/upload?file';

        // return 'https://jsonplaceholder.typicode.com/posts/';
    },
    checkThePic:function(path){
        // return 'http://app.hwagglee.com/app/manage/attachment/getImage?fileName=' + path;//以name名称查看图片
        return 'https://www.xiaoqinshou.club//app/manage/attachment/getImageAllPath?path=' + path;//以相对路径查看图片
    },
    checkPassword:function(value){
        console.log(value)
        var simplePwd = this.checkInput(value);
        if (simplePwd == 1){
            Toast('密码过于简单，为了您的账户安全，请重新设置！'); return false;
        }
        else if (simplePwd == 2){
            Toast('为了您的密码安全，密码不能以“0”开头！'); return false;
        }
        if (!/^\d{6}$/.test(value)) {
            Toast('密码必须为6位数字！'); return false;
        }
        return true;
    },
    /**
        *返回1:提示信息：过于简单，为了您的账户安全，请重新设置
        *返回2:提示信息：为了您的密码安全，密码不能以“0”开头
        *返回3:正确的输入
    */
    checkInput:function(str){
        var str1 = str.replace(/\d/g, function($0, pos) {
            return parseInt($0)-pos;
        });
        if (/^(\d)\1+$/.test(str1)) {
            return 1;  // 顺增
        }
        str1 = str.replace(/\d/g, function($0, pos) {
            return parseInt($0)+pos;
        });
        if (/^(\d)\1+$/.test(str1)){
            return 1;  // 顺减
        }
        if (!/^(?!([\d])\1{5})/.test(str)){
            return 1;  // 六位数字相同
        }
        if(str != null && str.substr(0,1) == "0"){
            return 2;
        }
        var firstChar = str.charAt(0);
        for(var i = 1; i < str.length; i++){
            var charStr = str.charAt(i);
            if(firstChar != charStr){
                return 3;
            }
        }
        return 1;
    },
    keepTwoDecimalPlaces:function (num) {
        // 处理数字，保留小数点后两位
        num += '';
        num = num.replace(/[^0-9|\.]/g, ''); //清除字符串中的非数字非.字符
        if (/^0+/) //清除字符串开头的0
        num = num.replace(/^0+/, '');
        if (!/\./.test(num)) //为整数字符串在末尾添加.00
        num += '.00';
        if (/^\./.test(num)) //字符以.开头时,在开头添加0
        num = '0' + num;
        num += '00'; //在字符串末尾补零
        num = num.match(/\d+\.\d{2}/)[0];
        return num;
    },
    deepClone(obj){//深拷贝
        let _obj = JSON.stringify(obj)
        let objClone = JSON.parse(_obj)
        return objClone
    },
    formatDate:function(date) {
	    let date_d = date._d;
	    // console.log('dateOOOOO:',date_d);
	    var y = date_d.getFullYear();
	    var m = date_d.getMonth() + 1;
	    m = m < 10 ? '0' + m : m;
	    var d = date_d.getDate();
	    d = d < 10 ? ('0' + d) : d;
	    return y + '-' + m + '-' + d;
    },
    timestampToTime:function(timestamp){
        if(!timestamp){
            return '';
        }
        var date = null;
        if(timestamp.length == 10){
            date = new Date(timestamp * 1000);//时间戳为10位需*1000，时间戳为13位的话不需乘1000
        }else{
            date = new Date(timestamp);//时间戳为10位需*1000，时间戳为13位的话不需乘1000
        }
        var Y = date.getFullYear() + '-';
        var M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';
        var D = (date.getDate() < 10 ? '0'+date.getDate() : date.getDate()) + ' ';
        var h = (date.getHours() < 10 ? '0'+date.getHours() : date.getHours()) + ':';
        var m = (date.getMinutes() < 10 ? '0'+date.getMinutes() : date.getMinutes()) + ':';
        var s = (date.getSeconds() < 10 ? '0'+date.getSeconds() : date.getSeconds());
        return Y+M+D+h+m+s;
    },
    //base64转码（压缩完成后的图片为base64编码，这个方法可以将base64编码转回file文件）
    dataURLtoFile:function(dataurl) {
        var arr = dataurl.split(','),
        mime = arr[0].match(/:(.*?);/)[1],
        bstr = atob(arr[1]),
        n = bstr.length,
        u8arr = new Uint8Array(n);
        while (n--) {
        u8arr[n] = bstr.charCodeAt(n);
        }
        return new File([u8arr], { type: mime });
    
    },
    //压缩图片
    compressImg:function(file){
        var src;
        var files;
        var fileSize = parseFloat(parseInt(file['size'])/1024/1024).toFixed(2);
        var read = new FileReader();
        read.readAsDataURL(file);
        return new Promise(function(resolve, reject){
        read.onload = function (e) {
        var img = new Image();
        img.src = e.target.result;
        img.onload = function(){
            //默认按比例压缩
            var w = this.width,
            h = this.height;
            //生成canvas
            var canvas = document.createElement('canvas');
            var ctx = canvas.getContext('2d');
            var base64;
            // 创建属性节点
            canvas.setAttribute("width", w);
            canvas.setAttribute("height", h);
            ctx.drawImage(this, 0, 0, w, h);
            if(fileSize<1){
            //如果图片小于一兆 那么不执行压缩操作
            base64 = canvas.toDataURL(file['type'], 1);
            }else if(fileSize>1&&fileSize<2){
            //如果图片大于1M并且小于2M 那么压缩0.5
            base64 = canvas.toDataURL(file['type'], 0.5);
            }else{
            //如果图片超过2m 那么压缩0.2
            base64 = canvas.toDataURL(file['type'], 0.2);
            }
            // 回调函数返回file的值（将base64编码转成file）
            files = this.dataURLtoFile(base64); //如果后台接收类型为base64的话这一步可以省略
            
            resolve(files)
        };
        };
        })
    },
    limitImgWidth:function(_this,file,obj,callback){
        // obj为宽高对象：obj.width    obj.height
        let image = new Image();
        image.src = _this.$commonFunc.checkThePic(file.response.data.filePath);
        // image.src = _this.$commonFunc.checkThePic(_this.planUrl);
        console.log('image===',image.src)
        // 判断图片像素是否符合尺寸
        image.onload = function(){
            var width = image.width;
            var height = image.height;
            console.log('图片像素',width,height);
            var _width = obj.width;
            var _height = obj.height;

            var imageCalc = width / height;
            var _imageCalc = _width / _height;
            if(width < _width){
                var _message = '上传图片尺寸不能小于'+_width+' * '+_height+'像素！';
                _this.$message.error(_message);
                callback && callback('');
                return;
            }
            if(imageCalc !== _imageCalc){
                var _message = '上传图片宽高比为' + _width + '/' + _height + '的比例图片';
                _this.$message.error(_message);
                callback && callback('');
                return;
            }
            if(width%_width !== 0){
                var _message = '上传图片尺寸必须是'+_width+'的倍数';
                _this.$message.error(_message);
                callback && callback('');
                return;
            }
            callback && callback(file.response.data.filePath);
        }
    }
}

export default commonFunc;